package com.gxar.uaa.api.dto.menu;

import java.io.Serializable;
import java.util.Date;

/**
 * @author linsy
 * @version 1.0
 * @created 2024/1/23 10:14
 */
public class SysMenu implements Serializable{

	private static final long serialVersionUID = 3539190628860985346L;
	/**
	 * 菜单ID
	 */
	private Long id;
	/**
	 * 父级菜单
	 */
	private Long parentId;
	/**
	 * 菜单code
	 */
	private String name;
	/**
	 * 菜单标题
	 */
	private String title;
	/**
	 * 国际化标题
	 */
	private String i18nTitle;
	/**
	 * url
	 */
	private String url;
	/**
	 * url请求方式
	 */
	private String urlMethod;
	/**
	 * 类型（0-目录，1-菜单，2-按钮）
	 */
	private Integer type;
	/**
	 * 租户字段
	 */
	private String app;
	/**
	 * 路由的动态路径
	 */
	private String dynamicPath;
	/**
	 * 作为单级路由的父级路由布局组件
	 */
	private String singleLayout;
	/**
	 * 需要登录权限
	 */
	private Boolean requiresAuth;
	/**
	 * 缓存页面
	 */
	private Boolean keepAlive;
	/**
	 * 菜单icon
	 */
	private String icon;
	/**
	 * 本地icon
	 */
	private String localIcon;
	/**
	 * 是否隐藏
	 */
	private Boolean hide;
	/**
	 * 外链地址
	 */
	private String href;
	/**
	 * 是否支持多个tab页签
	 */
	private Boolean multiTab;
	/**
	 * 排序 越小越靠前
	 */
	private String sort;
	/**
	 * 当前路由需要选中的菜单项
	 */
	private String activeMenu;
	/**
	 * 表示是否是多级路由的中间级路由
	 */
	private Boolean multi;
	/**
	 * 是否固定在tab卡不可关闭
	 */
	private Boolean affix;
	/**
	 * 是否显示侧边栏
	 */
	private Boolean hideSidebar;
	/**
	 * 是否显示Tab标签
	 */
	private Boolean hideTabs;
	/**
	 * 是否显示底部标签
	 */
	private Boolean hideFooter;
	/**
	 * 菜单path地址
	 */
	private String path;
	/**
	 * 路由重定向
	 */
	private String redirect;
	/**
	 * 组件
	 */
	private String component;
	/**
	 * 创建时间
	 */
	private Date createdAt;
	/**
	 * 创建者
	 */
	private String creator;
	/**
	 * 更新时间
	 */
	private Date updatedAt;
	/**
	 * 更新者
	 */
	private String operator;
	/**
	 * 是否删除
	 */
	private Boolean deleted;

	/**
	 * 选择类型 0-全选 1-半选
	 */
	private Integer selectType;

	{
		this.selectType = 0;
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public Long getParentId() {
		return parentId;
	}

	public void setParentId(Long parentId) {
		this.parentId = parentId;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}

	public String getI18nTitle() {
		return i18nTitle;
	}

	public void setI18nTitle(String i18nTitle) {
		this.i18nTitle = i18nTitle;
	}

	public String getUrl() {
		return url;
	}

	public void setUrl(String url) {
		this.url = url;
	}

	public String getUrlMethod() {
		return urlMethod;
	}

	public void setUrlMethod(String urlMethod) {
		this.urlMethod = urlMethod;
	}

	public Integer getType() {
		return type;
	}

	public void setType(Integer type) {
		this.type = type;
	}

	public String getApp() {
		return app;
	}

	public void setApp(String app) {
		this.app = app;
	}

	public String getDynamicPath() {
		return dynamicPath;
	}

	public void setDynamicPath(String dynamicPath) {
		this.dynamicPath = dynamicPath;
	}

	public String getSingleLayout() {
		return singleLayout;
	}

	public void setSingleLayout(String singleLayout) {
		this.singleLayout = singleLayout;
	}

	public Boolean getRequiresAuth() {
		return requiresAuth;
	}

	public void setRequiresAuth(Boolean requiresAuth) {
		this.requiresAuth = requiresAuth;
	}

	public Boolean getKeepAlive() {
		return keepAlive;
	}

	public void setKeepAlive(Boolean keepAlive) {
		this.keepAlive = keepAlive;
	}

	public String getIcon() {
		return icon;
	}

	public void setIcon(String icon) {
		this.icon = icon;
	}

	public String getLocalIcon() {
		return localIcon;
	}

	public void setLocalIcon(String localIcon) {
		this.localIcon = localIcon;
	}

	public Boolean getHide() {
		return hide;
	}

	public void setHide(Boolean hide) {
		this.hide = hide;
	}

	public String getHref() {
		return href;
	}

	public void setHref(String href) {
		this.href = href;
	}

	public Boolean getMultiTab() {
		return multiTab;
	}

	public void setMultiTab(Boolean multiTab) {
		this.multiTab = multiTab;
	}

	public String getSort() {
		return sort;
	}

	public void setSort(String sort) {
		this.sort = sort;
	}

	public String getActiveMenu() {
		return activeMenu;
	}

	public void setActiveMenu(String activeMenu) {
		this.activeMenu = activeMenu;
	}

	public Boolean getMulti() {
		return multi;
	}

	public void setMulti(Boolean multi) {
		this.multi = multi;
	}

	public Boolean getAffix() {
		return affix;
	}

	public void setAffix(Boolean affix) {
		this.affix = affix;
	}

	public Boolean getHideSidebar() {
		return hideSidebar;
	}

	public void setHideSidebar(Boolean hideSidebar) {
		this.hideSidebar = hideSidebar;
	}

	public Boolean getHideTabs() {
		return hideTabs;
	}

	public void setHideTabs(Boolean hideTabs) {
		this.hideTabs = hideTabs;
	}

	public Boolean getHideFooter() {
		return hideFooter;
	}

	public void setHideFooter(Boolean hideFooter) {
		this.hideFooter = hideFooter;
	}

	public String getPath() {
		return path;
	}

	public void setPath(String path) {
		this.path = path;
	}

	public String getRedirect() {
		return redirect;
	}

	public void setRedirect(String redirect) {
		this.redirect = redirect;
	}

	public String getComponent() {
		return component;
	}

	public void setComponent(String component) {
		this.component = component;
	}

	public Date getCreatedAt() {
		return createdAt;
	}

	public void setCreatedAt(Date createdAt) {
		this.createdAt = createdAt;
	}

	public String getCreator() {
		return creator;
	}

	public void setCreator(String creator) {
		this.creator = creator;
	}

	public Date getUpdatedAt() {
		return updatedAt;
	}

	public void setUpdatedAt(Date updatedAt) {
		this.updatedAt = updatedAt;
	}

	public String getOperator() {
		return operator;
	}

	public void setOperator(String operator) {
		this.operator = operator;
	}

	public Boolean getDeleted() {
		return deleted;
	}

	public void setDeleted(Boolean deleted) {
		this.deleted = deleted;
	}

	public Integer getSelectType() {
		return selectType;
	}

	public void setSelectType(Integer selectType) {
		this.selectType = selectType;
	}
}